package com.gitee.mp.annotation;

import io.milvus.grpc.ConsistencyLevel;

import java.lang.annotation.*;

/**
 * 集合
 *
 * @author hongda.li
 */
@Inherited
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Collection {
    /**
     * 集合名称
     * 默认类名称转下划线转大写
     *
     * @return 集合名称
     */
    String name() default "";

    /**
     * 集合描述
     *
     * @return 集合描述
     */
    String description() default "";

    /**
     * 一致性级别
     *
     * @return 默认级别
     */
    ConsistencyLevel level() default ConsistencyLevel.Session;

    /**
     * 当集合不存在时，是否自动创建
     *
     * @return 是否自动创建
     */
    boolean createIfNotExists() default false;

    /**
     * 当集合不可访问时，是否自动重新加载
     *
     * @return 是否重新加载
     */
    boolean reloadIfNotAccess() default false;
}
